package com.jumper.cwolf.leetcode;

import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;

import java.util.ArrayList;

/**
 * 描述：
 *
 * @author cwolf
 * @version 1.0
 * @date 2021/4/2 11:18
 */
public class Code80 {

    public int removeDuplicates(int[] nums) {

        int remove = 0;
        int pre = 0, times = 0;
        for(int i=0;i<nums.length;i++){
            int num = nums[i];
            if(i==0){
                pre = num;
                times=1;
                continue;
            }
            //与上个数字不相等，直接获取新位置
            if(pre != num){
                if(remove>0){
                    //当前数字往前移动 remove 位
                    nums[i-remove] = num;
                }
                pre = num;
                times = 1;
                continue;
            }
            //数字相等

            if(times==2){
                //移除改数字，不做处理
                remove++;
                continue;
            }

            times++;
            if(remove>0){
                //当前数字往前移动 remove 位
                nums[i-remove] = num;
            }

        }

        return nums.length-remove;

    }

//        System.out.println("nums:"+JSONUtil.toJsonStr(nums));

    public static void main(String[] args) {

        int[] arr = new int[]{
                5,5,5,1,1,1,7,1,1,5,2,7,6
        };
        int trap = new Code80().removeDuplicates(arr);
        System.out.println(trap);
    }

}
